2023/12/232001字符
String
- Go 语言中的字符串是一个字节的切片,可以通过将其封装在 "" 中来创建字符串
- 字符串是一些字节的集合(一个字符的序列),每个字符都有固定的位置(索引/下标)
package main
import "fmt"
func main() {
str := "h 哈" // 一个汉字占 3 个字节
fmt.Println(len(str)) //--> 5
// 按字节遍历
for i := 0; i < len(str); i++ {
// fmt.Println(str[i])
fmt.Printf("%c\n", str[i]) //--> h å
}
for _, value := range str {
fmt.Printf("%c\n", value) //--> h 哈
}
}
strings API
package main
import (
"fmt"
"strings"
)
func main() {
str := "hello" // 一个汉字占 3 个字节
// 是否包含
fmt.Println(strings.Contains(str, "abc")) //--> false
// 是否包含 chars 中任意的字符
fmt.Println(strings.ContainsAny(str, "abcl")) //--> true
// 统计字符串出现次数
fmt.Println(strings.Count(str, "l")) //--> 2
// 判断是否以字符串开头
fmt.Println(strings.HasPrefix(str, "h")) //--> true
// 判断是否以字符串结尾
fmt.Println(strings.HasSuffix(str, "o")) //--> true
// 字符串第一次出现的索引,不存在为 -1
fmt.Println(strings.Index(str, "l")) //--> 2
// 字符串中出现 chars 中任意的字符,以下标最小的为准
fmt.Println(strings.IndexAny(str, "lh")) //--> 0
// 字符串第一次出现的索引,倒叙查找
fmt.Println(strings.LastIndex(str, "l")) //--> 3
// newStr := ""
// for i, _ := range str {
// value := str[i:i+1]
// // newStr += strings.Join(value, "-")
// }
// fmt.Println(newStr) //-->
fmt.Println(strings.Split(str, "e")) //--> [h llo]
fmt.Println(strings.Repeat(str, 2)) //--> hellohello
fmt.Println(strings.Repeat(str, 2)) //--> hellohello
// 字符替换 参数4 为 -1 表示全部替换
fmt.Println(strings.Replace(str, "l", "*", 1)) //--> he*lo
fmt.Println(strings.ToLower(str)) //--> hello
fmt.Println(strings.ToUpper(str)) //--> HELLO
}